package com.hncc.dms.mapper;

import com.hncc.dms.domain.DmsDrug;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 药品管理Mapper接口
 * 
 * @author ruoyi
 * @date 2020-08-13
 */
public interface DmsDrugMapper 
{
    /**
     * 查询药品管理
     * 
     * @param id 药品管理ID
     * @return 药品管理
     */
    public DmsDrug selectDmsDrugById(Long id);

    /**
     * 查询药品管理列表
     * 
     * @param dmsDrug 药品管理
     * @return 药品管理集合
     */
    public List<DmsDrug> selectDmsDrugList(DmsDrug dmsDrug);

    /**
     * 新增药品管理
     * 
     * @param dmsDrug 药品管理
     * @return 结果
     */
    public int insertDmsDrug(DmsDrug dmsDrug);

    /**
     * 修改药品管理
     * 
     * @param dmsDrug 药品管理
     * @return 结果
     */
    public int updateDmsDrug(DmsDrug dmsDrug);
    /**
     * 删除药品管理
     * 
     * @param id 药品管理ID
     * @return 结果
     */
    public int deleteDmsDrugById(Long id);

    /**
     * 批量删除药品管理
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteDmsDrugByIds(Long[] ids);

    /**
     * 根据药品类型查询出最大药品编号
     * @param id
     * @param typeId
     * @return
     */
    String selectCodeByRecordType(@Param("id") Long id, @Param("typeId") Long typeId);

    /**
     * 查询包装单位集合
     * @return
     */
    List<DmsDrug> selectUnitList();

    /**
     * 常用项的 成药，草药 | id 查询
     * @param typeId 5：成药(西药，中成药)  6：草药(中草药)
     * @param ids
     * @return
     */
    List<DmsDrug> selectDmsDrugByTypeIdOrId(@Param("typeId") Integer typeId, @Param("array") String[] ids);
}
